﻿
using HongYeSystemWebApi.Templet.Entity.ApiResult;
using HongYeSystemWebApi.Templet.Entity.Request;
using HongYeSystemWebApi.Templet.Entity.Request.SysProject;
using HongYeSystemWebApi.Templet.Entity.Request.SystemInvoice;
using HongYeSystemWebApi.Templet.Entity.Response;
using HongYeSystemWebApi.Templet.Entity.Response.SystemInvoice;
using System;
using System.Threading.Tasks;
           
namespace HongYeSystemWebApi.Templet.IService
{
    public interface ISystemInvoiceService
    {

        /// <summary>
        /// 新增项目
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task InsertAsync(SystemInvoiceInsertRequset request);

        /// <summary>
        /// 更新项目
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task UpdateAsync(SystemInvoiceUpdateRequset request);

        /// <summary>
        /// 删除项目
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task DeleteAsync(MultiIdRequest request);
        /// <summary>
        /// 获取项目信息列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task <PageModel<SystemInvoiceDataPageResponse>> GetListAsync(SystemInvoiceRequset request);


        /// <summary>
        /// 导出所有的项目数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<ApiResult> ExportAll();
        /// <summary>
        /// 根据条件判定
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<ApiResult> ExportByGetListAsync(SystemInvoiceRequset request);
    }
}
